1. Preparing the Server
Before you initiate the SQL Server 2012
installation process there are several pre-installation tasks that need
to be completed to guarantee a successful SQL Server 2012 deployment.
Some of the pre-installation tasks include verifying that the hardware,
software, and network configurations are optimal to deploy SQL Server
2012 as well as having a good understanding of the SQL Server 2012
editions and the hardware and feature limitations imposed on each
edition.
This section discusses planning and design considerations for a successful SQL Server 2012 deployment.
Hardware and Software Requirements
An important step to define hardware
requirements is to make sure all the minimum hardware, software, and
operating system requirements are met for a successful SQL Server 2012
installation. This step is critical in order to pass hardware validation
checks during installation process and to ensure that performance and
response time requirements are met. Table 1 lists the minimum hardware, software, and operating system requirements.
Table 1 Minimum Hardware Requirements
Processor |
64-bit installations:
Speed: 1.4 Ghz or higher
AMD Opteron, Athlon 64, Intel Pentium IV, Xeon with Intel EM64T support
32-bit installations:
Speed: 1.0 Ghz or higher
Pentium III compatible |
Memory |
1GB (512MB Express Edition) |
Storage |
Installer: 4.0GB
Database Engine Services: 986MB
Integration Services: 304MB
Analysis Services: 517MB
Master Data Services: 243MB
Reporting Services (Native Mode): 1022MB
Reporting Services (SharePoint Integrated Mode): 129MB
Management Tools (Complete): 1551MB
Business Intelligence Development Studio: 2145MB |
Operating System |
64-bit and 32-bit (WOW64)
Windows Server 2008 R2 SP1
Windows Server 2008 SP2
Windows 7 SP1
Windows Vista SP2 |
Framework |
NET Framework 3.5 SP1
NET Framework 4 1
SQL Server Native Client
SQL Server Setup support files |
Proper Patching
SQL Server 2012 requires that the operating system and software components are updated to the proper service pack level. Table 2 lists the required service pack and the corresponding download link.
Table 2 Operating System and Software Patches
Firewalls
As part of the deployment process,
Database Administrators need to work along with Network Administrators
to ensure that network firewalls are configured to allow inbound and
outbound traffic to the SQL Server instance. If a network firewall is
not properly configured, connections to SQL Server instances and related
services will be blocked. Table 3 lists the default ports for common SQL Server 2012 Services.
Table 3 Default Ports for Common SQL Server 2012 Services
SQL Server Database Services |
Default Instance
Dedicated Admin Connection |
TCP 1433
TCP 1434 |
SQL Server Analysis Services |
Default Instance |
TCP 2383 |
SQL Server Integration Services |
Default |
TCP 135 |
SQL Server Reporting Services |
Non-SSL (http://)
SSL (https://) |
TCP 80
TCP 443 |
SQL Server Service Broker |
Default |
TCP 4022 |
SQL Server Browser Service |
Default |
UDP 1434
TCP 2382 |
2. Selecting the Edition
Selecting the right SQL Server Edition
is another important consideration in the deployment plan because some
editions have feature limitations and hardware support restrictions,
while other editions are geared toward more specialized workloads.. The
three main editions of SQL Server 2012 include Standard Edition,
Business Intelligence Edition, and Enterprise Edition. SQL Server 2012
editions can be categorized as follows:
- Core Editions:
- Enterprise
- Business Intelligence
- Standard
- Specialized Editions:
- Free Editions:
- Express
- Express LocalDB
- Compact
Note
Data Center Edition and Workgroup Edition
are no longer available in SQL Server 2012. Web Edition is only
available through hosting providers such as Amazon Web Services and
Rackspace.
The core editions of SQL Server 2012 are the three
main editions that can be licensed for production, testing, Q.A., and
U.A.T. environments.
Note
Core editions is a categorization of the
three main editions and must not be confused with Server Core
installations. New in SQL Server 2012, you can install SQL Server on
Windows Server 2008 R2 SP1 Server Core.
The Developer Edition of SQL Server 2012 is a
specialized license intended for development purposes only and cannot be
used in production environments. The free editions of SQL Server 2012
are light-weight versions of SQL Server intended for learning,
developing, and redistributing with small applications.
With each new release of SQL Server, new features
are introduced and some existing features get shuffled around between
editions. Understanding the available features for each edition is key
in deploying the right edition that suits your needs.
In SQL Server 2012, additional features have been
added to support highly scalable and highly available database
environments as well as additional tools to support Enterprise
Information Management. Some of these new features include the
following:
- Column-store indexes
- Always-on Availability Groups
- Distributed Replay
- Data Quality Services
- Analysis Services xVelocity Engine (formerly known as Vertipaq)
- Windows Server Core Installation Support
Edition Differences
Several differences exist between SQL
Server 2012 editions ranging from database size limitations to the
number of supported processors and the maximum supported memory. Several
features such as partitioning, encryption, compression, and some
advanced indexing options are also a key difference between SQL Server
2012 editions.
- Enterprise Edition: SQL Server 2012 Enterprise Edition
provides the highest level of scalability for large mission-critical
application workloads. It provides support for the highest amount of
memory and number of processors than any other edition to support an
organization's entire consolidated and virtualized database
infrastructure. Enterprise Edition includes several powerful tools for
complex data analytics, large data warehouses, and end-to-end Business
Intelligence solutions.
- Standard Edition: SQL Server 2012 Standard Edition is
tailored for small to mid-sized organizations, capable of providing
reliable data management and essential Business Intelligence
capabilities.
- Parallel Data Warehouse: SQL Server 2012 Parallel Data
Warehouse is a highly scalable appliance-based data warehouse solution.
Parallel Data Warehouse provides cost-effective performance through a
massively parallel processing (MPP) architecture that enables an
organization to easily scale from terabytes of data to a petabyte range
of data.
- Web Edition: SQL Server 2012 Web Edition is a cost-effective
database solution to support web applications, websites, and web
services. It is only available through hosting providers such as Amazon
and Rackspace.
- Developer Edition: SQL Server 2012 Developer Edition includes
all the functionality of Enterprise Edition for development, test, and
demonstration purposes. It is not intended for production environments.
You can purchase Developer Edition licenses for approximately $50. It is
the most cost-effective way for developers to develop and test all the
features available in SQL Server 2012.
- Evaluation Edition: SQL Server 2012 Evaluation Edition is a
free 180-day trial license of SQL Server 2012 with all the functionality
of Enterprise Edition. You can download the 180-day Evaluation Edition
of SQL Server 2012 at www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspx.
- Express Edition: SQL Server 2012 Express Edition is a free
redistributable edition ideal for learning, managing, and developing
small database applications. SQL Server 2012 Express Edition is limited
to 10GB of storage per database.
- Express LocalDB Edition: SQL Server 2012 Express
LocalDBEdition is a new, free, lightweight version of Express Edition
that has a fast zero configuration installation and fewer prerequisites.
It runs in user mode and includes all features found in Express
Edition.
- Compact Edition: SQL Server 2012 Compact Edition is a free
redistributable edition that can be embedded in mobile devices,
desktops, and web clients.
Downgrading Later
A good SQL Server 2012 deployment plan
eliminates the possibility of having to undo, redo, or make major
changes to the configuration of a SQL Server installation. It some
cases, you may be forced to change an existing installation to a
different edition or version of SQL Server.
Downgrading Between SQL Server Editions
Suppose a new corporate IT licensing
policy mandates that all middle-tiered database applications need to be
SQL Server Standard Edition, in which case you may find yourself needing
to downgrade an existing Enterprise Edition of SQL Server to the
Standard Edition.
Downgrading from a higher-tier SQL Server 2012
edition to a lower-tier SQL Server edition, such as from the Enterprise
Edition to the Standard Edition, is only possible by performing an
uninstallation of SQL Server. The process requires you to install the
lower-tier SQL Server edition after you uninstall the higher-tier SQL
Server Edition.
You can re-attach or restore user databases from a
database backup to the lower-tier SQL Server edition. User databases
with higher-tier SQL Server edition specific features enabled cannot be
attached or restored to a lower-tier SQL Server edition. For example, a
database created in SQL Server 2012 Enterprise Edition that uses
Enterprise Edition features, such as Table Partitioning or Transparent
Data Encryption (TDE), cannot be restored or attached to the SQL Server
2012 Standard Edition without first disabling these edition-specific
features.
To find out edition-specific features applied to a database, you can query the dynamic management view [sys].[dm_db_persisted_sku_features].
For example, the following T-SQL script queries edition-specific
features applied to the SQL Server 2012 AdventureWorks2012 database:
SELECT [feature_name]
FROM [AdventureWorks2012].[sys].[dm_db_persisted_sku_features]
The [sys].[dm_db_persisted_sku_features] dynamic management view may return rows containing any of the following Enterprise or Developer Edition features:
- Compression
- Partitioning
- Transparent Data Encryption
- Change Capture
If no edition-specific features have been enabled in the user database, the [sys].[dm_db_persisted_sku_features] dynamic management view does not return any rows.
Downgrading Between SQL Server Versions
In some cases you may need to downgrade
between a newer version of SQL Server back to a previous version. For
example, a SQL Server version upgrade of an application's back-end
database instance may have exposed bugs in the application that now
force you to downgrade back to the previous SQL Server version.
You can downgrade from SQL Server 2012 to previous
versions of SQL Server by following the same uninstallation process as
previously mentioned. On the other hand, you can no longer attach or
restore user databases created or attached to an older version of SQL
Server to a SQL Server 2012 instance.
Setting the compatibility mode of a database
attached to a SQL Server 2012 instance to a lower compatibility level
does not mean you can attach or restore this database to an older
version of SQL Server. The capability of setting a database at a lower
compatibility level is provided for backward compatibility as a
temporary step to support legacy code.
For example, a database attached to a SQL Server
2012 instance and set in compatibility mode level 90, enables you to run
code compatible with SQL Server 2005, but you cannot restore this
database to a SQL Server 2005 instance. Table 4 shows the database compatibility levels and corresponding SQL Server Version.
Table 4 SQL Server Database Compatibility Levels
SQL Server 6 |
60 |
SQL Server 6.5 |
65 |
SQL Server 7 |
70 |
SQL Server 2000 |
80 |
SQL Server 2005 |
90 |
SQL Server 2008 |
100 |
SQL Server 2008R2 |
100 |
SQL Server 2012 |
110 |
SQL Server 2012 supports only databases at
compatibility levels 90, 100, and 110, meaning it supports databases
going back to SQL Server 2005 only.
To identify the compatibility level of a specific SQL Server database, you can query the master.sys.sysdatabases table as follows:
SELECT cmptlevel
FROM master.sys.sysdatabases
WHERE name='AdventureWorks2012'
All databases attached or restored to a newer
version of a SQL Server instance upgrade automatically to the database
version number that the newer SQL Server instance supports. In the case
of SQL Server 2012, all databases created, attached, or restored in a
SQL Server 2012 instance convert to database version number 700.
As you see, database compatibility levels are not
the same as database version numbers. Perhaps Paul Randal described it
best when he explained it this way: The database version number is an
internal number associated with a specific structure of a database's
system tables containing metadata about various objects such as tables,
columns, indexes, allocations, and details about the relational and
physical structure of the database.
Table 5 lists the database version number and the corresponding SQL Server version.
Table 5 SQL Server Database Version Numbers
SQL Server 7 |
515 |
SQL Server 2000 |
539 |
SQL Server 2005 |
611 |
SQL Server 2005 SP2 + (vardecimal enabled) |
612 |
SQL Server 2008 |
661 |
SQL Server 2008R2 |
665 |
SQL Server 2012 |
700 |
To identify the version number of a specific SQL Server database, you can query the master.sys.sysdatabases table as follows
SELECT version
FROM master.sys.sysdatabases
WHERE name='AdventureWorks2012'
Upgrading Later
Selecting the right SQL Server Edition
upfront allows you to accommodate for future needs as your business
grows. Many organizations choose to deploy a SQL Server Edition that
contains the features that meet the minimum requirements for their
environment and upgrade to a different edition as additional features
are needed.
Deploying the SQL Server 2012 edition that
satisfies the minimum functionality requirements initially is a
cost-effective way to manage licensing costs. You can upgrade all
editions of SQL Server 2012 except for the Compact Edition to higher
tier SQL Server editions. For example, you can upgrade Express, Web, and
Workgroup editions to Standard, Enterprise, or Data Center editions.
You can upgrade the Standard Edition to only the Enterprise or Data
Center editions.
The upfront savings in licensing costs may justify
the decision to install a lower or mid-tier SQL Server 2012 edition
such as the Standard Edition. However, you also need to consider
downstream effects on budget, time, and resources when the need to
upgrade to a higher tier SQL Server Edition arises. Some of the factors
that might require a higher tier SQL Server Edition upgrade include
implementing more robust mechanisms for disaster recovery, high
availability efforts, and scaling out as workloads increase.
For this reason, some organizations deploy higher
tier SQL Server editions such as Enterprise, which allows them to scale
up and scale out when necessary both for performance and availability
purposes, without having to undergo an environment upgrade process.
Licensing Differences
The SQL Server 2012 release introduces
significant changes to the licensing model than previous versions. The
two licensing options, Server + CAL (Client Access License) and
socket-based are still offered. The major differences revolve around the
way processing power is licensed for the core-based licensing option
and the licensing options available for each edition.
Core-Based Licensing
In previous releases of SQL Server, core-based
licensing was based on the number of physical processors and was
independent of the number of cores. With SQL Server 2012, each of the
processor cores requires licensing. For example, to license a SQL Server
2008R2 Enterprise server with two quad-core processors, only two
processor licenses were required, one for each physical processor. This
type of licensing was referred to as per-socket licensing since it was
based on the number of physical processors occupying a processor socket
in the motherboard.
To license this same server running SQL Server
2012 Enterprise, licensing for eight cores is now required since each
processor has four cores for a total of eight cores.
Core-based licenses are sold in two-core packs
with a minimum of 4 core licenses required for each physical processor.
This means that at a minimum you need to purchase two of these two-core
packs for each physical processor occupying a processor socket. Table 6 provides the licensing matrix for different processor core configurations.
Table 6 Licensing Matrix for Different Processor Core Configurations
1 |
2 |
4 |
2 |
2 |
4 |
3 |
2 |
4 |
4 |
2 |
4 |
6 |
3 |
6 |
8 |
4 |
8 |
12 |
6 |
12 |
16 |
8 |
16 |
The number of two-core packs listed in the second column of Table 6,
is the number of two-core packs required for each physical processor.
As you may notice, even if you license a single or dual core processor,
you still have to buy enough two-core packs to license the minimum of
four cores. With this four-core minimum license per physical processor
requirement of SQL Server 2012, it makes more sense to have a single
four-core processor than two dual-core processors.
Server + CAL Licensing
Server + CAL Licensing for SQL Server
20120 is only available for the Standard and Business Intelligence
Editions. Users need a CAL that is the same version or newer than the
version of the licensed SQL Server they need to access. A SQL Server
2012 CAL can be used to access multiple licensed SQL Servers, including
SQL Server 2012 Standard and Business Intelligence Editions. These new
CALs can also be used for previous versions of SQL Server, including the
Enterprise Editions of 2008 and 2008R2, for which the Server + CAL
licensing model was still available.
Virtual Machine Licensing
Virtual machine licensing of SQL Server 2012 can be done in one of three ways:
1. Individual VM core licensing:
Each individual virtual machine requires a core license for each
allocated virtual processor. There is a minimum of four core licenses
required for each virtual machine. This licensing model of virtual
machines can be very costly, as multiple virtual machines with only one
or two allocated virtual processors would still require four core
licenses each.
2. Individual VM Server + CAL licensing:
Only SQL Server 2012 Standard and Business Intelligence Edition can be
licensed using the Server + Cal licensing model. Each individual VM
requires a Server license, and a CAL is needed for each user that
connects to a licensed server. This type of licensing is great for
applications with a small number of users.
3. Host server or server farm core licensing:
The total number of cores available on a host server or server farm can
be licensed to maximize virtualization capabilities and take advantage
of full computing power. To fully license a host server or server farm,
Enterprise Edition core licenses along with Software Assurance are
required. This type of licensing allows for an unlimited number of
virtual machines and allows dynamic provisioning and de-provisioning of
virtual processors.